2025.5.28 バイオリン図【seaborn】
(参考、バイオリン図 - wiki)
seaborn と DataFrame は相性が良い。
code:p1.py
import matplotlib.pyplot as plt
import seaborn as sns
from sklearn.datasets import load_iris
import pandas as pd
dataset = load_iris(as_frame=True) # DataFrameとして取得
data = dataset'data' # 学習データを修出
data'target' = dataset'target' # 教師データを連結
sns.violinplot(data,x='target', y='sepal length (cm)')
# sns.violinplot(data,x='target', y='sepal width (cm)')
# sns.violinplot(data,x='target', y='petal length (cm)')
# sns.violinplot(data,x='target', y='petal width (cm)')
plt.show()
これは横軸に教師データ、縦軸に'sepal length'をとったものとなる。
簡単に各グループ毎のデータの分布を可視化できている。
https://scrapbox.io/files/6836b8a392c19847a7cdeec4.png
0 は平均が5付近、分散の幅が狭い
2 は平均が6.5程度、分散の幅が広い
ことなどが簡単に見て取れる。
コメントを外し4つの結果が重ねて表示する。
https://scrapbox.io/files/6836b88401207c886bb61bc4.png